package com.example.service.impl;

import com.example.service.FileService;
import com.example.service.ImportTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

@Service
public class FileServiceImpl implements FileService {

    @Autowired
    private ImportTaskService importTaskService;

    public void importData(MultipartFile file) {

    }

//    @Override
//    public Map importExcel(MultipartFile file) throws Exception {
//        Workbook wb = null;
//        try {
//            if (file != null) {
//                // 兼容Excel新版本和老版本，xlsx和xls不兼容
//                wb = getWorkbook(file);
//                // 获取第一页数据
//                Sheet sheet = wb.getSheetAt(0);
//                // 获取第一页总行数
//                int rowCount = sheet.getPhysicalNumberOfRows();
//                // 开始循环取出每一行的数据，-1是因为取值时要去掉抬头
//                for (int i = 0; i < rowCount - 1; i++) {
//                    // 从第0行开始，因为第0行一般是抬头所以直接从下面一行开始
//                    Row row = sheet.getRow(i + 1);
//                    // 行数计数器
//                    int tempNum = i + 2;
//
//                    // 取出每一列的值，从第0列开始
//                    Cell cellname = row.getCell(0);
//                    Cell cellmobile = row.getCell(1);
//
//                    String name = "";// 姓名
//                    String mobile = "";// 手机号
//
//                    if (cellname != null) {
//                        cellname.setCellType(CellType.STRING);
//                        name = cellname.getStringCellValue().trim();
//                        if (StringUtil.isEmpty(name)) {
//                            throw new BizException(500, "第" + tempNum + "行姓名不能为空");
//                        }
//                    }
//
//                    if (cellmobile != null) {
//                        cellmobile.setCellType(CellType.STRING);
//                        mobile = cellmobile.getStringCellValue().trim();
//                        if (StringUtil.isEmpty(mobile)) {
//                            throw new BizException(500, "第" + tempNum + "行手机号不能为空");
//                        }
//                    }
//                }
//            } else {
//                System.out.println("++++++++++++传入文件为空+++++++++++++");
//                throw new BizException(500, "传入文件为空");
//            }
//        } catch (BizException e) {
//            throw new BizException(500, e.getMsg());
//        } catch (Exception e) {
//            e.printStackTrace();
//            throw new BizException(500, "文件信息异常");
//        } finally {
//            if (wb != null) {
//                try {
//                    wb.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//
//        return null;
//    }
//
//    // 兼容Excel新版本和老版本，xlsx和xls不兼容
//    public static Workbook getWorkbook(MultipartFile file) throws IOException {
//        Workbook workbook = null;
//        String fileName = file.getOriginalFilename();
//        if (fileName.endsWith("xls")) {
//            POIFSFileSystem pois = new POIFSFileSystem(file.getInputStream());
//            workbook = new HSSFWorkbook(pois);
//        } else if (fileName.endsWith("xlsx")) {
//            workbook = new XSSFWorkbook(file.getInputStream());
//        }
//        return workbook;
//    }

}
